home *** CD-ROM | disk | FTP | other *** search
/ Newspaper 8 / Newspaper_8_2002-11-24_EXclusive_ON_Disk_4_of_4.d64 / t.d.d. depacker < prev    next >
Text File  |  2023-02-26  |  1KB  |  88 lines

  1.  
  2. ; Depacker for "Demo data packer v2.0"
  3. ; () by Volcano/EXON
  4. ;
  5. ; Length: $69 bytes!
  6. ;
  7. ; For example:
  8. ;
  9. ; Data at ..... $97ed
  10. ; Depack to ... $5af3
  11. ;
  12. ; Do it:
  13. ;
  14. ; ldx #$ed  ; lo byte of start
  15. ; ldy #$97  ; hi byte of start
  16. ; jsr init
  17. ; ldx #$f3  ; lo byte of depack area
  18. ; ldy #$5a  ; hi byte of depack area
  19. ; jsr depack
  20. ;
  21. ; That's all ...
  22.  
  23. vec1     = $fa        ;-$fb
  24. vec2     = $fc        ;-$fd
  25.  
  26.          *= $0900
  27.  
  28. init     stx vec1
  29.          sty vec1+1
  30. end      rts
  31. depack   stx vec2
  32.          sty vec2+1
  33. ;-----------
  34. continue ldy #$00
  35.          lda (vec1),y
  36.          bmi end
  37.          bne dep
  38. ;-----------
  39.          inc vec1
  40.          bne *+4
  41.          inc vec1+1
  42.          lda (vec1),y
  43.          sta howmuch1+1
  44.          inc vec1
  45.          bne *+4
  46.          inc vec1+1
  47. loop1    lda (vec1),y
  48.          sta (vec2),y
  49.          iny
  50. howmuch1 cpy #$00
  51.          bne loop1
  52.          tya
  53.          beq go1
  54.          clc
  55.          adc vec1
  56.          sta vec1
  57.          bcc go2
  58. go1      inc vec1+1
  59.          jmp go2
  60. ;-----------
  61. dep      inc vec1
  62.          bne *+4
  63.          inc vec1+1
  64.          lda (vec1),y
  65.          sta howmuch2+1
  66.          inc vec1
  67.          bne *+4
  68.          inc vec1+1
  69.          lda (vec1),y
  70.          inc vec1
  71.          bne *+4
  72.          inc vec1+1
  73. loop2    sta (vec2),y
  74.          iny
  75. howmuch2 cpy #$00
  76.          bne loop2
  77. go2      tya
  78.          beq go3
  79.          clc
  80.          adc vec2
  81.          sta vec2
  82.          bcc continue
  83. go3      inc vec2+1
  84.          jmp continue
  85. ;-----------
  86.  
  87.  
  88.